package com.missilike.core.service;

import com.alipay.api.AlipayApiException;
import com.missilike.core.domain.alipay.AlipayCashWithdrawalOrder;
import com.missilike.core.domain.alipay.AlipayCashWithdrawalResult;
import com.missilike.core.domain.alipay.AlipayNotifyResult;
import com.missilike.core.domain.alipay.AlipayOrder;

import javax.servlet.http.HttpServletRequest;

/**
 * @Author: starmile
 * @Description:
 * @Create: 2018-12-13 23:11
 **/
public interface IAlipayService {
    /**
     * 发起支付
     * @param order
     * @return
     */
    String alipay(AlipayOrder order);

    /**
     * 验证签名
     * @param request
     * @return
     */
    AlipayNotifyResult signVerified(HttpServletRequest request);

    /**
     * 支付宝提现
     * @param order
     * @return
     */
    AlipayCashWithdrawalResult alipayCashWithdrawal(AlipayCashWithdrawalOrder order) throws AlipayApiException;
}
